<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../Vue.js/vue.js"></script>
</head>
<body>
    <!-- 
        几个注意点：
            1.关于组件名:
                一个单词组成：
                    第一种写法(首字母小写)：school
                    第二种写法(首字母大写)：School
                多个单词组成：
                    第一种写法(kebab-case命名)：my-school
                    第二种写法(CamelCase命名)：MySchool (需要Vue脚手架支持)
                备注：
                    (1).组件名尽可能回避HTML中已有的元素名称，例如：h2、H2都不行。
                    (2).可以使用name配置项指定组件在开发者工具中呈现的名字。

            2.关于组件标签:
                第一种写法：<school></school>
                第二种写法：<school/>
                备注：不用使用脚手架时，<school/>会导致后续组件不能渲染。

            3.一个简写方式：
                const school = Vue.extend(options) 可简写为：const school = options （option内容用花括号括起）
    -->
    <div class="root">
        <h2>{{msg}}</h2>
        <school></school>
    </div>
</body>
<script>
    const school = Vue.extend({
        template: `
            <div>
                <h2>学校名称: {{schoolName}}</h2>
                <h2>学校地址: {{address}}</h2>
                <button @click='showName'>点我提示学校名</button>
            </div>
        `,
        data(){
            name: 'XCZJust' //在开发者工具里显示此项 
            return {
                schoolName: 'gdufe',
                address: '广东'
            } 
        },
        methods: {
            showName(){
                alert(this.schoolName)
            }
        }
    })

    new Vue({
        el: '.root',
        components: {
            //若组件名字有多个单词，则得将所有单词首字母大写，但是得在脚手架里用。或者用kebab-case方式命名
            school  //在开发者工具中会显示此名字
        },
        data: {
            msg: "WDNMD"
        }
    })
</script>
</html>